#ifndef __CK_ENUM_OPERATOR_H__
#define __CK_ENUM_OPERATOR_H__

#include "ckObject.h"
#include "zCore.h"
#include <vector>

namespace ck
{
	class Operator;

	class ZCORE_API EnumOperator : public ckObject
	{
	public:
		EnumOperator();
		virtual ~EnumOperator();

	public:
		void			Add(Operator* pOperator);
		void			Reset();
		Operator*		Next();
	private:
		void			Cleanup();

	private:
		std::vector<Operator*>	m_opers;
		std::vector<Operator*>::iterator	m_iter;
	};
}

#endif //__CK_ENUM_OPERATOR_H__
